package com.hll.api.service;

import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.hll.api.config.web.RespMessage;
import com.hll.api.enums.SMS;
import com.hll.api.exception.MyException;

/**
 * @author 何龙
 * @create 2019-07-09 22:06
 */
public interface XinhuaService {
	/**
	 * 获取分类
	 * @return 分类json
	 */
	JSONObject getClassification();

	/**
	 * 获取首页数据
	 * @return 首页json
	 */
	JSONObject getIndex();

	/**
	 * 获取搜索框款关键字
	 * @return 搜索框关键字
	 */
	JSONObject getFindWords();

	/**
	 * 获取轮播图详情页数据
	 * @param name 轮播图名称
	 * @return 轮播图详情页数据
	 */
	JSONObject getCarouselInfo(String name);

	/**
	 * 畅销排行页面
	 * @return 畅销排行页面有数据
	 */
	JSONObject getSellWellRanking();

	/**
	 * 专题
	 * @return 专题页面有数据
	 */
	JSONObject getMonographic();

	/**
	 * 优惠券
	 * @return 优惠券详情
	 */
	JSONObject getCoupon();

	/**
	 * 统一获取页面数据接口
	 * @param path 路径参数
	 * @return 页面数据
	 */
	JSONObject getActivity(String path);

	/**
	 * 搜索关键字提示
	 * @param keyword 关键字
	 * @return 提示
	 */
	JSONArray getPrompt(String keyword) throws MyException;

	/** 搜索列表 */
	JSONObject getSearchList(Integer pageNo, Integer pageSize, boolean includeEbook, String keyword, Float lowPrice, Float highPrice, Integer sort, String tenantId, String brandIds, String regionIds, String backCategoryIds, String frontCategoryId, String shopId, String shopCategoryId, String attributes, String ids, String types, String itemCode, Integer inStock);

	/** 获取商品详情 */
	JSONObject getProductDetails(String itemId) throws MyException;

	/** 商品其他數據 */
	JSONObject getOtherData(String itemId) throws Exception;

	/** 售后保障 */
	JSONObject getOtherCategory(String itemId) throws Exception;

	/** 图片反代 */
	byte[] getImg(String imgUrl) throws Exception;

	/** 发送短信验证码 */
	RespMessage endsms(SMS sms, String mobile) throws Exception;

	/** 查询短信资源剩余条数 */
	JSONObject getSmsNum();
}
